export default {
  namespaced: true,
  state: {
    addressInfo: JSON.parse(uni.getStorageSync('address') || '{}'),
    // 登录成功的token
    token: uni.getStorageSync('token') || '',
    // 用户信息对象
    userInfo: JSON.parse(uni.getStorageSync('userInfo') || '{}'),
    // 重定向的信息对象
    redirectInfo: null
  },
  mutations: {
    // 更新收货地址
    updateAddress(state, address) {
      state.addressInfo = address
      this.commit('m_user/saveStorage')
    },
    // 将收货数据存储到本地
    saveStorage(state) {
      uni.setStorageSync('address', JSON.stringify(state.addressInfo))
    },
    // 更新用户信息
    updateUserInfo(state, userInfo) {
      state.userInfo = userInfo
      this.commit('m_user/saveUserInfo')
    },
    // 对用户信息永久存储
    saveUserInfo(state) {
      uni.setStorageSync('userInfo', JSON.stringify(state.userInfo))
    },
    // 更新token值
    updateToken(state, token) {
      state.token = token
      this.commit('m_user/saveTokenToStorage')
    },
    // 将 token 字符串持久化存储到本地
    saveTokenToStorage(state) {
      uni.setStorageSync('token', state.token)
    },
    // 更新重定向的信息对象
    updateRedictInfo(state, info) {
      state.redirectInfo = info
    }
  },
  getters: {
    addressStr(state) {
      if (state.addressInfo.provinceName === '') return ''
      return state.addressInfo.provinceName + state.addressInfo.cityName + state.addressInfo.countyName + state.addressInfo.detailInfo
    }
  }
}
